package com.zhonghui.mes.domain.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.zhonghui.common.annotation.Excel;
import com.zhonghui.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.util.Date;
import java.util.List;

@Getter
@Setter
@ToString
public class MesMaterialInspectorVo extends BaseEntity
{
  private static final long serialVersionUID = 1L;

  /** 编号 */
  private Long id;

  /** 流水号 */
  @Excel(name = "流水号")
  private String serialNumber;

  /** 领料id */
  @Excel(name = "领料id")
  private Long applyId;

  /** 物料id */
  @Excel(name = "物料id")
  private Long materialId;

  /** 抽检数量 */
  @Excel(name = "抽检数量")
  private Long sampleQuantity;

  /** 需求数量 */
  @Excel(name = "需求数量")
  private Long dosage;

  /** 已领数量 */
  @Excel(name = "已领数量")
  private Long receivedQuantity;

  /** 质检标准id */
  @Excel(name = "质检标准id")
  private Long inspectionId;

  /** 检验值 */
  @Excel(name = "检验值")
  private Long inspectionValue;

  /** 检验结果 */
  @Excel(name = "检验结果")
  private Long result;

  /** 检验人id */
  @Excel(name = "检验人id")
  private Long checkUserId;

  /** 检验人id */
  @Excel(name = "检验人")
  private String checkUserName;

  /** 检验时间 */
  @JsonFormat(pattern = "yyyy-MM-dd")
  @Excel(name = "检验时间", width = 30, dateFormat = "yyyy-MM-dd")
  private Date inspectorTime;

  @JsonFormat(pattern = "yyyy-MM-dd")
  @Excel(name = "检验时间区间", width = 30, dateFormat = "yyyy-MM-dd")
  private List<Date> inspectorTimeRange;

  //join material table
  /** 产品 */
  @Excel(name = "产品")
  @ApiModelProperty("产品")
  private String materialName;

  /** 规格 */
  @Excel(name = "规格")
  @ApiModelProperty("规格")
  private String materialModel;

  /** 型号 */
  @Excel(name = "型号")
  @ApiModelProperty("型号")
  private String materialSpecifications;

  /** 单位 */
  @Excel(name = "单位")
  @ApiModelProperty("单位")
  private String materialUnit;

  //join inspection table


  @Excel(name = "标准值上限")
  @ApiModelProperty("标准值上限")
  private Double upLimit;
  @Excel(name = "标准值下限")
  @ApiModelProperty("标准值下限")
  private Double lowerLimit;
  @Excel(name = "检验项")
  @ApiModelProperty("检验项")
  private String checkItem;

  @Excel(name = "领料单号")
  @ApiModelProperty("领料单号")
  private String oddNumber;
}
